草庐IT

MySQL GROUP_CONCAT 和 DISTINCT

全部标签

mysql - SQL Group_concat 未获取所有数据

我有2张表和第二张表的使用关系table1idname---------1alpha2betatable2idnamerelation-------------------120152220162320172420182我想看看namedata-------------------------beta2015,2016,2017,2018alphaNULL我尝试了以下sql查询,但输出不是我想要的我使用:SELECTt1.name,GROUP_CONCAT(t2.nameSEPARATOR',')FROMtable1ASt1LEFTJOINtable2ASt2ONt2.relation

MYSQL Group by 和 Group Concat 问题

如何使用Groupby和Group_concat通过1个SQL查询实现以下两种情况?对于情况1,即使设备1,2和3,4的组ID不同,输出设备ID仍应串联,因为组1和组2的名称和平台相同。CASE1Table:SMARTPHONE==========================================GROUP_IDDEVICE_IDNAMEPLATFORM11LGANDROID12APPLEIOS23LGANDROID24APPLEIOSDesiredOutputROWDEVICE_ID01,2,3,4对于情况2,由于组2中的其中一个名称值与组1不同(即设备3,Samsug

sql - MySQL COUNT(DISTINCT()) 意外结果

我在CentOS5.1上使用MySQL5.0.45。SELECTDISTINCT(email)FROMnewsletter返回217259行SELECTCOUNT(DISTINCT(email))FROMnewsletter返回180698作为计数。SELECTCOUNT(*)FROM(SELECTDISTINCT(email)FROMnewsletter)ASfoo返回180698作为计数。难道3个查询不应该返回相同的值吗?这是时事通讯表的架构CREATETABLE`newsletter`(`newsID`int(11)NOTNULLauto_increment,`email`var

php - 有没有人发现一种(简单的)方法来限制 group_concat 行?

我有一个很大的查询要从每个国家/地区提取有关报告的信息,现在,我可以限制它的唯一方法是在末尾放置Limit10或某个数字,这将限制国家。但是,我想要做的是将group_concat限制为每个国家/地区10个结果,在我的例子中,这将以某种方式将group_concat一词的每个实例限制为10个。我当前的查询是:SELECTcountry,GROUP_CONCAT(docID),GROUP_CONCAT(analyst),GROUP_CONCAT(region),GROUP_CONCAT(report),GROUP_CONCAT(topic),MAX((date))ASdate,MAX((

mysql - 哪个更快 : COUNT(DISTINCT Column) vs. COUNT(*) ... GROUP BY Column

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭9年前。我正在使用MySQL,并且我多次读到COUNT(*)通常比COUNT(Column)快。但是,我需要获取COUNT的distinct行。据我了解,我可以通过两种不同的方式做到这一点:a)选择计数(不同列)...或b)SELECTCOUNT(*)...GROUPBYColumn一般来说,哪个更快?如果它依赖,那么它依赖什么?

mysql - 如何在 WHERE CLAUSE 中使用 DISTINCT 来避免重复行返回

此SQL查询的结果应返回一组6行。SELECTbaseFeeds.siteURL,feedFinishes.timeTaken,feedFinishes.timeSubmittedFROMfeedFinishesLEFTOUTERJOINbaseFeedsONfeedFinishes.GUID=baseFeeds.GUIDWHEREfeedFinishes.nowDate=baseFeeds.nowDateANDbaseFeeds.siteURLLIKE'%www.example.com%'目前它返回18行,正确的6行被重复3次。我认为解决这个问题的方法是使用另一个类似于以下内容的WH

php - 在类似查询的地方使用 concat

首先,我是这方面的初学者,所以请耐心等待。我已经尝试在这里和其他地方搜索论坛,从我所看到的我做的是正确的..但是我得到了一个错误。到“检查在'LIKECONCAT(games.tag,'Special%')ATLINEX附近使用的语法”。很明显我做错了……但我发现的一切都表明我做对了。有人请帮助我感到沮丧。SELECTgames.tag,ribbons.name,members.username,members.joinedFROMmember_ribbonsINNERJOINribbonsONmember_ribbons.ribbon_id=ribbons.idINNERJOINga

php - 如何获取GROUP CONCAT的每个不同值的出现次数(php,mysql)

我知道这很容易做到,但我还没有找到正确的方法。我发现了一些东西Here但与我需要的不同,还没有积极的贡献。有人好心帮忙。我有一张这样的tablename|status-------------mike|yesmike|yesmike|nomike|neyjohn|nojohn|neyjohn|yes我想输出这样的东西name|status|total------------------------------mike|yes-2,no-1,ney-1|4john|yes-1,no-1,ney-1|3我试过像这样使用GROUP_CONCATresult=mysql_query("SELE

mySQL GROUP_CONCAT - 查询

我几乎可以从sql查询中得到我需要的东西,但不完全是,我希望能得到一些帮助。我有以下三个表:people+----+-------------------------+|id|email|+----+-------------------------+|1|joe_soap@hotmail.com||2|john_doe@hotmail.com||3|fred_bloggs@hotmail.com|+----+-------------------------+jobs+----+-------------+|id|description|+----+-------------+|1|

mysql - DISTINCT 关键字在 mysql 查询中不起作用

我遇到了一个问题,我的mysql查询没有按预期工作。我正在使用union连接3个表,结果我想忽略重复的单词。为此,我使用了DISTINCT关键字。但它没有按预期工作。我的查询是,SELECTDISTINCT(catnam),sub2idFROMtbl_first_page_productsfINNERJOINsubcategory_level2sONf.brand_id=s.sub2idWHEREf.title_cat='men'UNIONSELECTDISTINCT(catnam),sub2idFROMtbl_third_page_productsfINNERJOINsubcateg